SQL veritabanında rasgele satırı seçin

2 Cevap php

Benim veritabanında rastgele bir çizgi seçmek istiyorum. Ben bir web sitesinde bu çözüm gördüm:

SELECT column FROM table
ORDER BY RAND()
LIMIT 1

Bu SQL sorgusu çalıştırmak ama birisi olmayan ölçülebilir bir sorgu olduğunu bana söyledi. Başka bir çözüm var mı?

Thx

2 Cevap

Öyle. Sen ile satır sayısını saymak zorunda

SELECT COUNT(*) FROM `table`;

Php function mt_rand ile Bundan sonra () $ saymak için 1'den rasgele almak ve sorgu olsun:

SELECT `column` FROM `table` LIMIT $rand, 1

this question farklı DBMSs için performans etkileri ve stratejileri de dahil olmak üzere, bu konunun çok daha fazla tartışma, var.