2017-12-17 12 views
1

私はSQLite(バージョン3.10.0、Qtバージョン5.7.1、SQLCipherバージョン3.15.2)用にDBブラウザを使用しています。最初に最も高い値。私が使用:DescとAscによってSQLiteのDBブラウザで注文

SELECT first_name, last_name, Totalclaims 
FROM workingdata 
ORDER BY Totalclaims Desc; 

問題は、私のクエリは$993.00を超える$9920.00として見られているということです。フィルターが小数点以下の桁を正しく認識していないようです。どのようにこれを修正するためのアドバイス?

+2

Totalclaims列はフロートのように格納されていますか?あなたはvarcharではないですか? – danihp

+0

'ORDER BYキャストで試してください(フロートとして(Totalclaims、 '$'、 '')を置き換えてください); – tonypdmtr

+0

@tonypdmtrこれを行う必要はありません、varcharの長さを最初に確認できます。ドルを交換してフロートに変換する。 –

答えて

1

- tonypdmtrは書いた: キャストBY ORDER( ''、 '$'、(Totalclaimsを置き換える)floatとして)DESCをお試しください。

これは魅力的に機能しました。

0

小数点以下2桁が常にある場合は、長さをTotalclaims、次にTotalclaimsの順に並べ替えます。

EDIT:Totalclaims欄アウト

SELECT first_name, last_name, Totalclaims 
FROM workingdata 
ORDER BY length(Totalclaims) desc, Totalclaims Desc; 
1

清潔で、これはあなたのためにそれを注文する必要があります。

SELECT first_name, last_name, cast(replace(Totalclaims,'$', '') as SIGNED) as TotalClaims_Clean 
    FROM workingdata 
    ORDER BY Totalclaims_Clean Desc; 
関連する問題