簡體   English   中英

來自同一個表的子查詢

[英]Subquery from the same table

表結構

[place]
p.place_id
p.name
p.image
p.address
p.phone
p.website
p.description
p.lng
p.lat
p.distance
p.last_update
p.is_ad

SELECT DISTINCT p.* FROM place p

我需要選擇所有記錄,其中包含 2 個帶有標志“is_ad”= 1 的 RANDOM 記錄

所以例如:

記錄:

1 is_ad 0
2 is_ad 1
3 is_ad 0
4 is_ad 1
5 is_ad 0
6 is_ad 1
7 is_ad 0

顯示隨機兩條記錄第一個位置

1 is_ad 1 
6 is_ad 1
3 is_ad 0
4 is_ad 0
5 is_ad 0
7 is_ad 0
7 is_ad 0

它應該顯示在第一個位置

謝謝你。

(SELECT * FROM place where is_ad = 1 order by rand() limit 2)
union all
(SELECT * FROM place where is_ad <> 1 order by place_id)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM