![](/img/trans.png)
[英]Mysql - select random 4 data from a column, distinct by 2 different columns
[英]How to select Distinct with random column MYSQL?
我有一些包含圖像,語言,信仰的桌子books
。 我正在與眾不同的信念價值觀
SELECT DISTINCT faith, language from books;
這獲取了信仰系列( 15個結果 ),但我也想隨機獲取image
。 因此,結果可以顯示隨機圖像的可信度。 我該怎么做,請提出建議。
查詢
select distinct faith, language from books;
從表中選擇不同的信仰-語言組合。 因此,您的表中包含相同信仰和語言的兩個條目
Faith Language Image 1 EN img1 1 EN img2 1 FR img3 1 FR img4
您的結果將僅包含每個組合一次:
Faith Language 1 EN 1 FR
從您的問題還不清楚,您對隨機圖像的含義是什么。 這是如何獲取任意選擇的信念語言組合的匹配圖像之一的方法:
select faith, language, image
from books
group by faith, language;
結果可能如下所示:
Faith Language Image 1 EN img2 1 FR img3
原因是我們匯總了行。 在GROUP BY子句中,我們說我們希望每個信念和語言一行,但我們也選擇了Image,並且沒有指定我們希望每個組看到哪個行(我們可以使用MIN或MAX這樣的聚合函數來完成該行),因此我們只獲得與DBMS任意選擇的與信念語言組合相匹配的圖像之一。
這已經是您想要的嗎?
謝謝大家,我得到了解決方案
SELECT r.faith,
(SELECT r1.image FROM books AS r1 WHERE r.faith=r1.faith ORDER BY rand() LIMIT 1) AS image FROM books AS r GROUP BY r.faith;
每次執行查詢時,它都會針對每個信念獲取具有隨機field2圖像的不同field1 faith
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.