簡體   English   中英

如何選擇字段並在SQL中為每個字段計數?

[英]How to select fields and count for each field in SQL?

我有一個名為message的SQL表,我想從表中選擇DISTINCT用戶名,該表將向ID為($ uid)的收件人發送任何消息,並使用單行查詢為每個發件人選擇COUNT(message)

我已經試過這段代碼:

$query="SELECT DISTINCT clientname,user_id,user1pic, COUNT("SELECT id FROM messages WHERE clientname=clientname) AS counted FROM messages WHERE receiver=$uid and status='unread' ";
$messages=mysqli_query($cnx,$query);
while($row=mysqli_fetch_array($cnx,$messages)){

echo '<a class="example" > '.$row['clieenter code herentname'].''.$row['counted'].'</a>' ;}
if(mysqli_num_rows($cnx,$messages)<=0){
    echo '<a class="example" href="#">You Have No Messages</a>' ;
}

請嘗試以下操作:

SELECT 
  clientname,
  user_id,
  user1pic, 
  COUNT(1) AS counted 
FROM 
  messages 
WHERE 
  receiver=:uid 
  and status='unread'
Group by
  clientname,
  user_id,
  user1pic;

我已經用參數占位符替換了內聯PHP變量-請使用參數綁定來避免SQL注入。

暫無
暫無

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

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