[英]How do i select distinct values from multiple columns in SQL?
我知道有人問過這個問題,但是我沒有找到解決我特定問題的可行答案。
我有一個帶有4列(名字,姓氏,帳號和組織)的表(在MySQL中)。 在我的程序中,我想創建4個下拉列表(組合框)(每列一個)。 組合框包含該列的唯一值。 現在,我通過使用4個單獨的SQL查詢並填充每個組合框來完成此操作。 我試圖通過執行單個查詢來獲取所有值,然后在獲得結果后將它們分成組合框,來查看是否有更快的方法。 但是我無法弄清楚如何用單個查詢來完成它,我已經嘗試了書中的每個聯接並使用派生表以及我能想到的所有方法,但沒有任何效果。
基本上我的名字組合框需要包含表中所有不同的名字,第二個組合框包含所有不同的姓氏,第3個不同的acct。 數字和第4個不同的組織,在任何組合框中都沒有重復項。
這有可能嗎? 謝謝。
這是我目前正在做的:
Select distinct firstname from t1 order by firstname;
' populate my combo box
Select distinct lastname from t1 order by lastname;
; populate my combo box
etc...
您在這里所做的基本上是最佳策略。 這就是SQL的工作方式。
考慮一下如果您試圖同時列出所有firstname
和lastname
條目的輸出結果。 對於6個不同的姓氏和8個不同的姓氏,您將獲得多少行? 6? 8? 48?
如果這太慢,那么您需要做的是正確INDEX
列,以使DISTINCT
操作本身更快。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.