0

one の合計を計算する必要column(col2)がありますが、列には数値とテキストの両方があります。sum() を使用する前にテキストのみを除外するにはどうすればよいですか? テーブルには約 100 万行ありますが、最初にテキストを置き換える以外に方法はありますか? 私のクエリは次のようになります。

Select col1,sum(col2) from t1 group by col1,col2

前もって感謝します

4

3 に答える 3

2

正規表現を使用して列をフィルタリングできます。

Select col1,sum(col2) from t1  WHERE col2 REGEXP '^[0-9]+$' group by col1,col2
于 2015-05-04T07:02:00.307 に答える
0

MySQL組み込みのREGEXP関数を使用できます。

詳細については、 https : //dev.mysql.com/doc/refman/5.1/en/regexp.html をご覧ください。

または別の方法は、CASTまたはCONVERT関数を使用することです

詳細については、https ://dev.mysql.com/doc/refman/5.0/en/cast-functions.html を参照してください。

これが役立つことを願っています

于 2015-05-04T07:11:14.880 に答える