[英]How to group results from MySQL
MySQL是我的弱點。 我的頁面上有以下MySQL查詢。 變量$ this_groupMembers和$ this_groupInvites都是預定字符串,格式為'1,2,3'等:
SELECT
username
FROM
chat_users
WHERE
ID IN($this_groupMembers) OR
ID IN($this_groupInvites)
我需要做的是將結果分組,以便我可以獨立於受邀成員訪問現有成員。 即從MySQL查詢的結果創建變量$ groupMembers_usernames和$ groupInvites_usernames,而不必使用PHP剖析結果。
有沒有辦法做到這一點,以便MySQL完成所有工作?
謝謝,
喬
您可以使用帶有常量的UNION對返回的行進行分類:
SELECT
username, 'member'
FROM
chat_users
WHERE
ID IN($this_groupMembers)
UNION
SELECT
username, 'invitee'
FROM
chat_users
WHERE
ID IN($this_groupInvites)
最簡單的方法是擁有兩個單獨的查詢,但是,如果出於某種原因您確實需要一個查詢,則可以:
SELECT
username, ID IN($this_groupMembers) AS member
FROM
chat_users
WHERE
ID IN($this_groupMembers) OR
ID IN($this_groupInvites)
如果是成員,則成員為1;如果被邀請,則成員為0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.