タグ付けされた質問 「sql」

構造化照会言語(SQL)は、データベースを照会するための言語です。質問には、コード例、テーブル構造、サンプルデータ、使用するDBMS実装(MySQL、PostgreSQL、Oracle、MS SQL Server、IBM DB2など)のタグを含める必要があります。質問が特定のDBMSにのみ関連している場合(特定の拡張機能を使用)、代わりにそのDBMSのタグを使用してください。SQLでタグ付けされた質問への回答には、ISO / IEC標準SQLを使用する必要があります。


18
複数のテーブルからcount(*)を選択します
結果として次のcount(*)2つの異なるテーブル(tab1およびそれらを呼び出すtab2)から選択するにはどうすればよいですか。 Count_1 Count_2 123 456 私はこれを試しました: select count(*) Count_1 from schema.tab1 union all select count(*) Count_2 from schema.tab2 しかし、私が持っているすべては: Count_1 123 456
230 sql  oracle  count 

18
グループ化されたSQL結果の各グループの最大値を持つレコードを取得する
グループ化された各セットの最大値を含む行を取得するにはどうすればよいですか? 私はこの質問について過度に複雑なバリエーションを見てきましたが、どれも良い答えはありません。私は可能な限り簡単な例をまとめようとしました: 以下のようなテーブルにperson、group、ageの列がある場合、どのようにして各グループの最も古い人を取得できますか?(グループ内のネクタイは最初のアルファベット順の結果を与える必要があります) Person | Group | Age --- Bob | 1 | 32 Jill | 1 | 34 Shawn| 1 | 42 Jake | 2 | 29 Paul | 2 | 36 Laura| 2 | 39 望ましい結果セット: Shawn | 1 | 42 Laura | 2 | 39

18
データ型、NOT NULL、およびPRIMARY KEY制約とともにテーブルの列のリストを取得するSQLサーバークエリ
特定のテーブルの列のリスト、それに関連するデータ型(長さを含む)、およびそれらがnullでない場合、SQLサーバーでクエリを作成する必要があります。そして、私は何とかこれを行うことができました。 しかし、今私は同じテーブルで、列に対しても取得する必要があります- TRUEその列が主キーである場合。 どうすればよいですか? 私の予想される出力は: Column name | Data type | Length | isnull | Pk


22
各ユーザーの最新の記録日をSQLでクエリする方法
ユーザーがいつログオンしたかに関するコレクションエントリであるテーブルがあります。 username, date, value -------------------------- brad, 1/2/2010, 1.1 fred, 1/3/2010, 1.0 bob, 8/4/2009, 1.5 brad, 2/2/2010, 1.2 fred, 12/2/2009, 1.3 etc.. 各ユーザーの最新の日付を取得するクエリを作成するにはどうすればよいですか? 更新:最新の日付と一致する値が必要であることを忘れていました。

30
SQL Serverで中央値を計算する関数
MSDNによると、MedianはTransact-SQLの集計関数として使用できません。ただし、この機能を作成できるかどうかを確認したいと思います(Create Aggregate関数、ユーザー定義関数、またはその他の方法を使用)。 これを行うには(可能な場合)最良の方法は何ですか?集約クエリで中央値(数値データ型を想定)の計算を可能にしますか?

10
MongoDBがv4以前にACIDに準拠していないとはどういう意味ですか?
私はデータベースの専門家ではなく、正式なコンピュータサイエンスの経歴もありません。ACIDに準拠していなかったv4より前の古いMongoDBバージョンを使用した場合に発生する可能性のある現実の否定的なことを知りたいのですが。これは、ACIDに準拠していないデータベースに適用されます。 MongoDBはアトミック操作を実行できますが、主にパフォーマンス上の理由により、「従来のロックと複雑なトランザクションをサポート」しないことを理解しています。また、データベーストランザクションの重要性と、データベースが銀行向けであり、すべてを同期する必要のある複数のレコードを更新する場合の例を理解しています。停電により、クレジットは購入と同等になります。 しかし、MongoDBについての会話に入ると、データベースが実際にどのように実装されているかについての技術的な詳細を知らない私たちは、次のようなステートメントを投げかけ始めます。 MongoDBはMySQLやPostgresよりもはるかに高速ですが、100万分の1のように、「正しく保存されない」可能性はわずかです。 「正しく保存されない」という部分は、この理解に言及しています。MongoDBに書き込んでいる瞬間に停電があった場合、特定のレコードが存在する可能性があります(たとえば、10の属性を持つドキュメントのページビューを追跡しているとします)それぞれ)、1つのドキュメントは5つの属性しか保存しませんでした...つまり、時間の経過とともにページビューカウンターが「少し」オフになります。どれだけ正確かは決してわかりません。99.999%正しいことはわかりますが、100%は正しくありません。これは、具体的にこれをmongodbのアトミック操作にしない限り、操作がアトミックであることが保証されないためです。 ですから、私の質問は、MongoDBが「正しく保存」されない場合とその理由の正しい解釈は何ですか?ACIDのどの部分が満足できませんか。また、どのような状況で、0.001%のデータがオフであるかをどのようにして知ることができますか?これはどういうわけか修正できませんか?そうでない場合users、レコードが保存されない可能性があるため、MongoDBにテーブルのようなものを格納してはならないことを意味しているようです。しかし、その場合も、その1 / 1,000,000ユーザーは「もう一度サインアップしてみる」必要があるかもしれません。 MongoDBのようなACID非準拠データベースでネガティブなことが発生するタイミング/理由のリストを探しているだけです。理想的には、標準の回避策(バックグラウンドジョブを実行してデータをクリーンアップするか、SQLだけを使用するなど)がある場合に理想的です。 。
226 sql  mongodb  acid  database  nosql 


11
SQLで行をランダムに選択する方法は?
私はMSSQL Server 2005を使用しています。私のデータベースには、「customerNames」というテーブルがあり、「Id」と「Name」の2つの列があり、約 1,000件。 毎回ランダムに5人の顧客を選択する必要がある機能を作成しています。クエリが実行されるたびにランダムな5行(Id、およびName)を取得するクエリを作成する方法を誰かに教えてもらえますか?
226 sql  database  random 


13
INSERTステートメントがFOREIGN KEY制約と競合しました-SQL Server
次のエラーが発生します。手伝っていただけませんか? メッセージ547、レベル16、状態0、行1 INSERTステートメントは、FOREIGN KEY制約「FK_Sup_Item_Sup_Item_Cat」と競合しました。データベース "dev_bo"、テーブル "dbo.Sup_Item_Cat"で競合が発生しました。ステートメントは終了されました。 コード: insert into sup_item (supplier_id, sup_item_id, name, sup_item_cat_id, status_code, last_modified_user_id, last_modified_timestamp, client_id) values (10162425, 10, 'jaiso', '123123', 'a', '12', '2010-12-12', '1062425') 最後の列client_idがエラーの原因です。に既に存在する値dbo.Sup_Item_Catを、sup_item ..に対応する列に入れようとしましたが、喜びはありません:-(

10
SQL Serverでの左結合と右結合の違い
SQL Serverの結合について知っています。 例えば。Table1、Table2の2つのテーブルがあります。 それらのテーブル構造は次のとおりです。 create table Table1 (id int, Name varchar (10)) create table Table2 (id int, Name varchar (10)) 次の表1のデータ: Id Name ------------- 1 A 2 B 次の表2のデータ: Id Name ------------- 1 A 2 B 3 C 以下の両方のSQLステートメントを実行すると、両方の出力が同じになります select * from Table1 left join Table2 on Table1.id = Table2.id …


11
同じselectステートメントでcountとgroup byを使用する方法
グループ化されたSQL選択クエリがあります。group byステートメントの後のすべてのレコードをカウントしたい。これをSQLから直接行う方法はありますか?たとえば、さまざまな町とユーザーの総数を選択するユーザーのテーブルがあるとします。 select town, count(*) from user group by town すべての町を含む列と、すべての行のユーザー数を含む列が必要です。 3つの町と合計58人のユーザーがいる場合の結果の例は次のとおりです。 Town Count Copenhagen 58 NewYork 58 Athens 58
223 sql  count  group-by 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.