簡體   English   中英

PHP / Postgres 每行一個輸出

[英]PHP / Postgres One Output per row

我試圖為我的語句迭代到的每一行獲取一行輸出,但它為它找到的每個“票”輸出 100 次。 在當前的 SQL 隊列中,只有 4 個可能符合條件的票證。

$ticketIdQuery = pg_query($db, "SELECT ticket.assignee_id, ticket.subject FROM ticket INNER JOIN ticket_assignee_mapping ON ticket.assignee_id=ticket_assignee_mapping.assignee_id WHERE status_id = $firstLevelId");

if($ticketIdQuery)
{
    while ($ticketIdQueryFetch = pg_fetch_array($ticketIdQuery))
    {
        print_r($ticketIdQueryFetch);
    }
}

有沒有辦法將它找到的每一行的輸出限制為一個

當您的 JOINed 表具有一對多關系並且您只選擇有限數量的列時,您無法理解為什么會得到如此多的結果。 因此,與其使用 DISTINCT,我建議使用 GROUP BY 子句來指定您真正感興趣的列。如果您還在 SELECT 中添加了 COUNT(*),您可以繼續調整您的查詢,直到記錄計數總計返回的每行 1 個。 嘗試這個:

$ticketIdQuery = pg_query($db, "SELECT ticket.assignee_id, ticket.subject, COUNT(*) FROM ticket INNER JOIN ticket_assignee_mapping ON ticket.assignee_id=ticket_assignee_mapping.assignee_id WHERE status_id = $firstLevelId GROUP BY ticket.assignee_id, ticket.subject");

如果您仍有疑問,請發布ticket 和ticket_assignee_mapping 的表定義。

暫無
暫無

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

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