2011-01-25 30 views
21

Tôi muốn biết liệu có thể có được danh sách các giá trị riêng biệt trong một cột SQLite mà không yêu cầu chúng hay không.SQLite Chọn giá trị DISTINCT của một cột không có thứ tự

Tôi đã thử truy vấn sau. Nhưng nó sẽ tự động đặt văn bản duy nhất vào thứ tự tăng dần.

CHỌN DISTINCT cột TỪ bảng;

Ví dụ:

Cột

Mathew 
Mathew 
John 
John 
John 
Numbers 
Numbers 

quả

John 
Mathew 
Numbers 

Nhưng tôi muốn nó không được ra lệnh. Muốn có nó ở Mathew, John, Numbers

Cảm ơn.

+0

Bạn muốn kết quả theo thứ tự nào? sử dụng 'ORDER BY some_other_column' –

+0

Tôi muốn nó được hiển thị theo thứ tự xuất hiện mà không cần bất kỳ thứ tự nào trên các văn bản cột. Tôi có giá trị trùng lặp gần nhau. –

Trả lời

33

Bạn muốn đơn đặt hàng nào?

Nếu bạn muốn nhận được các giá trị trong thứ tự xuất hiện đầu tiên bạn có thể làm:

select distinct column 
    from table 
order by min(rowid); 
+1

Tôi muốn có cùng thứ tự trong bảng của tôi. Nhưng tôi không hiểu câu hỏi trên. Bạn có thể giải thích nó một chút. Tôi có giá trị trùng lặp gần nhau. –

+0

Tôi đã thêm INTEGER PRIMARY KEY Column với SQLiteBrowser và ORDERED bởi cột mới MIN(). :) Cảm ơn. –

+0

Rowid là một PRIMARY KEY INTEGER ẩn. Xem http://www.sqlite.org/lang_createtable.html – AtnNn

2

Ý của bạn là "không đặt hàng"? Không có thứ tự tự nhiên nào được ngụ ý trong một bảng SQL, do đó thứ tự tăng dần mặc định theo cột từ trái sang phải là tốt như bất kỳ thứ tự nào khác. Nếu bạn thích một thứ tự khác, SELECT DISTINCT không chấp nhận mệnh đề ORDER BY.

+0

Thực tế với truy vấn này trên SQLite, văn bản của cột được sắp xếp theo Thứ tự tăng dần. –

+0

Vâng, đó là quan điểm của tôi. Bảng bên dưới (biểu mẫu dữ liệu được vẽ) không có thứ tự "tự nhiên", vì vậy bạn mong đợi kết quả được sắp xếp như thế nào? Thứ tự tăng dần có ý nghĩa nhiều như bất kỳ thứ gì khác, vì không có thứ tự "không trật tự" nào được tôn trọng. –

+0

Nhưng khi tôi thử truy vấn, nó cho thấy trật tự với SQLite. Tôi đã chỉnh sửa Câu hỏi của tôi với kết quả. –

0

hey một phương pháp dễ dàng sẽ thêm một số sê-ri (Làm cho nó chính chính) khi bạn chèn một bản ghi và làm cho trật tự giảm dần.

Các vấn đề liên quan