簡體   English   中英

如何對MySQL的結果進行分組

[英]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.

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