重複する値を持つ別の列でMySQLグループのタイムスタンプから最初の日付を取得します
このために、集計関数MIN()およびGROUPBYを使用できます。まずテーブルを作成しましょう-
mysql> create table DemoTable1870 ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Value int, ShippingTimestamp varchar(100) ); Query OK, 0 rows affected (0.00 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable1870(Value,ShippingTimestamp) values(10,'1570645800'); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1870(Value,ShippingTimestamp) values(10,'1546194600'); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1870(Value,ShippingTimestamp) values(11,'1573324200'); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1870(Value,ShippingTimestamp) values(11,'1557599400'); Query OK, 1 row affected (0.00 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select * from DemoTable1870;
これにより、次の出力が生成されます-
+----+-------+-------------------+ | Id | Value | ShippingTimestamp | +----+-------+-------------------+ | 1 | 10 | 1570645800 | | 2 | 10 | 1546194600 | | 3 | 11 | 1573324200 | | 4 | 11 | 1557599400 | +----+-------+-------------------+ 4 rows in set (0.00 sec)
MySQL&Minus;
のタイムスタンプから最初の日付を取得するためのクエリは次のとおりです。mysql> select min(ShippingTimestamp) from DemoTable1870 group by Value;
これにより、次の出力が生成されます-
+------------------------+ | min(ShippingTimestamp) | +------------------------+ | 1546194600 | | 1557599400 | +------------------------+ 2 rows in set (0.00 sec)
-
列値の最初の文字を取得し、MySQLを使用して別の列に挿入します
これには、LEFT()関数の概念を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable2036 -> ( -> FirstLetter varchar(20), -> Title varchar(20) -> ); Query OK, 0 rows affected (1.01 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTa
-
MySQLで選択した値が「0」の場合は別の列から選択しますか?
これには、MySQLでIF()を使用します。構文は次のとおりです- select IF(yourColumnName1=0,yourColumnName2,yourColumnName1) as anyAliasName from yourTableName; テーブルを作成しましょう- mysql> create table demo30 −> ( −> id int not null auto_increment primary key, −> value int, −> original_value int