استعلام MySQL لتعيين رقم عشوائي فريد لكل صف
سؤال
أرغب في إرفاق عمود بجدولي والذي سيكون رقمًا عشوائيًا من قائمة تسلسلية = لعدد الصفوف.
لذا، إذا كان طاولتي 999 صفًا, ، ثم سيتم تخصيص الأرقام من 1 إلى 999 بشكل عشوائي وفريد.
الآن، اعتقدت أنه يمكنني إضافة TempRandomColumn=Rand() الوهمية، والفرز حسب ذلك وإضافة الأرقام بالتسلسل باستخدام PHP.ولكن هذا يعني 999 عبارة MySQL.
هل هناك طريقة للقيام بذلك باستخدام عبارة MySQL واحدة؟
شكرا على أي مؤشرات.
المحلول
SET @r := 0;
UPDATE items2
SET author_id = (@r := @r + 1)
ORDER BY
RAND()
نصائح أخرى
SET @i=1;
SELECT t.*, @i:=@i+1 as RAND_NUM FROM your_table t ORDER BY RAND();
لا تنتمي إلى StackOverflow