我有一個數據庫的一些值,如從0到100萬。但是,如果我想選擇最高值,它始終不起作用,就像它可以在圖像上看到較低的數量和較大的數字一樣。MYSQL值錯誤
我試圖SELECT * FROM listings ORDER BY value DESC
但它沒有給出最高值,也與ASC不先給最低值。
我真的很希望我能從這裏得到幫助。
我有一個數據庫的一些值,如從0到100萬。但是,如果我想選擇最高值,它始終不起作用,就像它可以在圖像上看到較低的數量和較大的數字一樣。MYSQL值錯誤
我試圖SELECT * FROM listings ORDER BY value DESC
但它沒有給出最高值,也與ASC不先給最低值。
我真的很希望我能從這裏得到幫助。
在這裏你去:
SELECT * FROM listings ORDER BY length(value) DESC, value DESC
謝謝!這工作。 –
用途:
SELECT MAX(value) or SELECT MIN(value).
如果你只是想最高或最低值。
從附圖中可以清楚地看出value
字段是作爲字符串排序的,而不是數字。
如果value
字段僅包含整數(如嵌入式圖像所示),則將列的數據類型更改爲其中一種整數數據類型。
否則,您可以使用order by
中的cast()函數將value
字段的內容轉換爲數字,但是,如果您有非數字值,則它們的值將不同地轉換爲數字。
「值」類型是文本和@Syed Noman答案工作。 –
但是,如果存儲在此字段中的數據實際上是數字,那麼您可以使用雙訂單子句,然後將錯誤的數據類型分配給該字段。數字數據類型需要更少的存儲空間,並且可以更快地訂購。如果該字段可以保存非數字值,那麼Syed Noman的答案可以產生相當有趣的結果。 – Shadow
我已經在我的數據庫
SELECT * FROM listings ORDER BY value ASC
SELECT * FROM listings ORDER BY value DESC
測試這兩種情況下ASC
和DESC
(這就是爲什麼作爲答案發布較少的聲譽),它完全可以解釋嗎?
演員爲整數,然後訂購吧:
SELECT * FROM listings
ORDER BY CAST(`value` AS SIGNED) DESC
是'value'領域的整型字段或varchar字段?如果它是一個varchar字段,那麼一些值是否包含空格和內容? –
你是什麼意思最高價值?表中最近的條目或某個整數鍵最多的行? –
@TheOneandOnlyChemistryBlob我需要所有的值由DESC而不只是一個數字。 –