簡體   English   中英

如何從表中選擇所有列但具有唯一的一列

[英]How to select all columns from a table but with unique one column

我有一個包含很多列的表,我想選擇所有列,但我想要這些列中唯一的列。

這適用於我,但我沒有得到所有列:

$result = mysql_query("SELECT DISTINCT company FROM table t $order");

我也測試了這個,但沒有做任何事情:

$result = mysql_query("SELECT * DISTINCT company FROM table t $order");


$result = mysql_query("SELECT DISTINCT company * FROM table t $order");

編輯

我的表有很多列,我們說它有5個所以我的記錄的一個例子是這樣的:

company   x      y     price   numOfEmpl
one       1      5     1.3     15
one       2      6     1.4     15
two       3      7     1.5     16
three     4      8     1.6     17

所以我想削減第二行,並采取所有其他。

根據額外信息編輯以前的答案

如果需要,可以在MySQL和SQL Server中為您提供解決方案

MySQL示例(使用用戶變量/子查詢)

CREATE TABLE SomeTable (company VARCHAR(20), x INT, y INT, price FLOAT, numOfEmploy INT);

INSERT INTO SomeTable 
(company, x, y, price, numOfEmploy) 
VALUES 
('one', 1, 5, 1.3, 15),
('one', 1, 6, 1.4, 15),
('two', 1, 7, 1.5, 16),
('three', 1, 8, 1.6, 17);

SET @count = NULL, @value = NULL;
SELECT company, x, y, price, numOfEmploy FROM (
    SELECT 
        company, x, y, price, numOfEmploy,
        @count := IF(@value = company, @count + 1, 1) AS rc,
        @value := company
    FROM SomeTable
) AS grouped_companies WHERE rc = 1

SQL Server示例(使用CTE)

--Create the table
declare @sometable table ( company varchar(10), x int, y int, price float, numOfEmploy int)

--insert the data
insert into @sometable values ('one', 1, 5, 1.3, 15)
insert into @sometable values ('one', 2, 6, 1.4, 15)
insert into @sometable values ('two', 3, 7, 1.5, 16)
insert into @sometable values ('three', 4, 8, 1.6, 17)

--WITH Common Table Expression
;WITH grouped_companies AS (
        SELECT *, 
        ROW_NUMBER() OVER(PARTITION BY company
                            ORDER BY company) AS rc
        FROM @sometable)
SELECT gc.company, gc.x, gc.y, gc.price, gc.numOfEmploy
FROM grouped_companies gc
WHERE gc.rc = 1

DISTINCT關鍵字可用於僅返回已定義列中的不同(不同)值,例如

SELECT DISTINCT column_name,column_name

或者您可以返回DISTINCT值的數量

SELECT COUNT(DISTINCT column_name)

查看W3Schools上的一些樣本

我想你可能需要對所有記錄使用單獨的sql query

暫無
暫無

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

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