簡體   English   中英

SQL-表按事件排序

[英]SQL - Table sort by events

我有一張這樣的桌子:

+--------+--------+
| userid | events |
+--------+--------+
|   1    |  blog  |
|   2    |  blog  |
|   1    |  site  |
|   1    |  move  |
|   2    |  move  |
|   3    |  blog  |
|   2    |  blog  |
+--------+--------+

我想顯示所有參加我作為參數傳遞的事件的用戶。

示例:所有參與“博客”和“移動”的用戶

知道用戶可以多次參加某個事件。

謝謝你的幫助

select userid
from your_table
where events in ('blog','move')
group by userid
having count(distinct events) = 2

如果您要檢查3個事件,請使用

having count(distinct events) = 3
SELECT DISTINCT userid
FROM table_name
WHERE events = 'blog'
AND userid IN
(
    SELECT DISTINCT userid
    FROM table_name
    WHERE events = 'move'
)

這是SQLFiddle

嘗試這個

select a.userid
from tablename a join tablename b
on a.userid = b.userid
where a.events='blog' and b.events='move';

暫無
暫無

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

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