::: µ¨ÆÄÀÌ Tip&Trick :::

µ¨ÆÄÀÌ Tip&Trick ¼º°Ý¿¡ ¸ÂÁö ¾Ê´Â ±¤°í,ºñ¹æ,Áú¹®ÀÇ ±ÛÀº Áï½Ã »èÁ¦Çϸç
³»¿ëÀ» º¹»çÇÏ¿© »ç¿ëÇÒ °æ¿ì ¹Ýµå½Ã À̰÷(http://www.howto.pe.kr)À» Ãâó·Î ¸í½ÃÇÏ¿© ÁÖ¼¼¿ä


Category

  ±è¿µ´ë(2003-03-07 09:13:35, Hit : 3958, Vote : 889
 µ¿ÀûÀ¸·Î SELECTÀÇ GROUP BY ¹® ¸¸µé±â

> ÇýÁ¤ÀÌ wrote:
> ¾È³çÇϼ¼¿ä?
>
> ¿©·¯°³ÀÇ Ç׸ñÀÌ ÀÖÀ»¶§ ÀÌ°É group by¸¦ Çϴµ¥...
> ¸î°³¸¦ ¼±ÅÃÇØ¼­ group byÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀÌ ÀÖ³ª¿ä?
> ¿¹¸¦ µé¸é...
> Ç׸ñÀÌ a,b,c,d,e,f(Çʵåµé)°¡ ÀÖÀ»¶§...
>
> ·±Å¸Àӽà a,b¸¦ ¼±ÅÃÇØ¼­(üũ¹Ú½ºÀÌ¿ë) sqlÀ» ³¯¸®¸é...
> sql.add('select a,b,sum(x) from aaa');
> sql.add('group by a,b');
> À§¿Í°°Àº ¹®ÀåÀÌ ½ÇÇàµÇ¾î¾ß ÇØ¿ä...
>
> ¼±ÅÃÇÒ ¼ö ÀÖ´Â °¹¼ö´Â ¿©·¯°³°¡ µÉ¼ö ÀÖ¾î¿ä..
> ¿¹¸¦ µé¸é c,d,f¼¼°³¸¦ ¼±ÅÃÇÒ ¼öµµ ÀÖ°í ¸»ÀÌ¿¡¿ä...
>
> ³Ê¹« °æ¿ìÀÇ ¼ö°¡ ¸¹¾Æ¼­...
> ¹«½¼ ¹æ¹ýÀÌ ¾øÀ»±î¿ä?
> decisioncube¸¦ ¾²¸é µÇ´Âµ¥...¾µ¼ö ¾ø´Â »óȲÀ̶ó¼­...ÂÁÂÁ...
>
> ²À Á» ¾Ë·ÁÁà¿ä...
>
> ±×·³ ¾È³çÈ÷ °è¼¼¿ä..
>

¾È³çÇϼ¼¿ä  ±è¿µ´ëÀÔ´Ï´Ù
SQL¹®ÀÇ Á¶ÇÕÀº »ç½Ç ¹®ÀÚ¿­ Á¶ÀÛÀ̱⠶§¹®¿¡ ¸¸µå´Â ¹æ¹ýÀº ´Ù¾çÇÕ´Ï´Ù

±×·±µ¥ Áú¹®ÇϽŠGROUP BY °¡ µé¾î°¡´Â SELECT¹®Àº °í·ÁÇÒ »çÇ×ÀÌ
ÇѰ¡Áö ÀÖ½À´Ï´Ù
"Groups within Groups"
Áï GROUP BY µÚ¿¡ ³ª¿­ÇÑ ÇʵåµéÀº ±âº»ÀûÀ¸·Î sort order
°¡ Àֱ⠶§¹®¿¡ ¿ì¼±¼øÀ§¸¦ »ý°¢ÇØ¾ß ÇÕ´Ï´Ù

¾Æ·¡ ¿¹Á¦¸¦ Çѹø µ¹·Áº¸¼¼¿ä
¸¸µå´Â ¹æ¹ýÀº ÆûÀ§¿¡ ³ª¶õÈ÷ ¹è¿­ÇÑ CheckBox 5°³, Button Çϳª,
Memo Çϳª¸¦ ¿Ã·Á³õ½À´Ï´Ù
±×´ÙÀ½¿¡ ¼³Á¤ÇÒ ÇÁ·ÎÆÛƼ´Â ¼Ò½º¿¡¼­ ÇϹǷΠ¼³Á¤ÇÒ Çʿ䰡 ¾øÀÌ
¹Ù·Î ½ÇÇàÇÏ½Ã¸é µË´Ï´Ù

½ÇÇà ÈÄ °¢ CheckBox ¸¦ Ŭ¸¯ÇϽøé Memo¿¡ SELECT¹®ÀåÀÌ »ý¼ºµË´Ï´Ù
¿©±â¿¡ ¿ì¼±¼øÀ§¸¦ °í·ÁÇØ¼­...
¿ì¼±¼øÀ§´Â ³ªÁß¿¡ check ÇѰÍÀÌ ³ô°Ô ¼³Á¤µË´Ï´Ù

±×·³ ¼ö°íÇϼ¼¿ä


unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    CheckBox4: TCheckBox;
    CheckBox5: TCheckBox;
    Memo1: TMemo;
    procedure FormCreate(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure CheckBoxAllClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  CheckBoxList: TStringList;

implementation
{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
var
  i: Integer;
begin
  CheckBoxList := TStringList.Create;
  // Å×À̺íÀÇ Çʵå¸í°ú ±× Çʵ带 ³ªÅ¸³»´Â CheckBoxÀÇ ¿¬°ü°ü°è¸¦ ³ªÅ¸³»¾î ÀúÀåÇÑ´Ù
  CheckBoxList.AddObject('a', TObject(CheckBox1));
  CheckBoxList.AddObject('b', TObject(CheckBox2));
  CheckBoxList.AddObject('c', TObject(CheckBox3));
  CheckBoxList.AddObject('d', TObject(CheckBox4));
  CheckBoxList.AddObject('e', TObject(CheckBox5));

  for i := 0 to CheckBoxList.Count-1 do
  begin
    // °¢ CheckBoxÀÇ Tag¿¡ ÃʱâÄ¡ 0¸¦ ³Ö´Â´Ù
    TCheckBox(CheckBoxList.Objects[i]).Tag := 0;
    // °¢ CheckBoxÀÇ ShowHint¸¦ Ȱ¼ºÈ­ ÇÑ´Ù
    TCheckBox(CheckBoxList.Objects[i]).ShowHint := True;
    // °¢ CheckBoxÀÇ OnClick À̺¥Æ® ÇÒ´ç
    TCheckBox(CheckBoxList.Objects[i]).OnClick := CheckBoxAllClick;
  end;
end;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  CheckBoxList.Free;
end;

procedure TForm1.CheckBoxAllClick(Sender: TObject);
var
  i, j, CheckedCount: Integer;
begin
  if TCheckBox(Sender).Checked then
  begin
    // °¡Àå ÃÖ±Ù¿¡ CheckµÈ CheckBoxÀÇ ¿ì¼±¼øÀ§¸¦ 1 ·Î ³ª¸ÓÁö´Â 1¾¿ Áõ°¡
    TCheckBox(Sender).Tag  := 1;
    TCheckBox(Sender).Hint := IntToStr(TCheckBox(Sender).Tag) + ' ¼øÀ§';

    for i := 0 to CheckBoxList.Count-1 do
      if (TCheckBox(CheckBoxList.Objects[i]) <> TCheckBox(Sender)) and
         (TCheckBox(CheckBoxList.Objects[i]).Tag > 0) then
      begin
        TCheckBox(CheckBoxList.Objects[i]).Tag  := TCheckBox(CheckBoxList.Objects[i]).Tag + 1;
        TCheckBox(CheckBoxList.Objects[i]).Hint := IntToStr(TCheckBox(CheckBoxList.Objects[i]).Tag) + ' ¼øÀ§';
      end;
  end
  else // UnChecked
  begin
    // ¸ðµç CheckµÈ CheckBoxÀÇ ¿ì¼±¼øÀ§¸¦ 1¾¿ °¨¼Ò
    for i := 0 to CheckBoxList.Count-1 do
      if TCheckBox(CheckBoxList.Objects[i]).Tag > TCheckBox(Sender).Tag then
      begin
        TCheckBox(CheckBoxList.Objects[i]).Tag  := TCheckBox(CheckBoxList.Objects[i]).Tag - 1;
        TCheckBox(CheckBoxList.Objects[i]).Hint := IntToStr(TCheckBox(CheckBoxList.Objects[i]).Tag) + ' ¼øÀ§';
      end;

    TCheckBox(Sender).Tag  := 0;
    TCheckBox(Sender).Hint := '';
  end;

  // CheckedµÈ°ÍÀÌ ¾øÀ¸¸é SELECT¸¦ ¸¸µéÁö ¾Ê´Â´Ù
  Memo1.Clear;
  CheckedCount := 0;
  for i := 0 to CheckBoxList.Count-1 do
    if TCheckBox(CheckBoxList.Objects[i]).Tag > 0 then
       Inc(CheckedCount);
  if CheckedCount = 0 then
    System.Exit;

  Memo1.Lines.Add('SELECT');
  // ¿ì¼±¼øÀ§¿¡ µû¶ó ÇʵåÀÇ À§Ä¡¸¦ °áÁ¤
  for i := 1 to CheckBoxList.Count do // ¼øÀ§
    for j := 0 to CheckBoxList.Count-1 do
      if TCheckBox(CheckBoxList.Objects[j]).Tag = i then
        Memo1.Lines.Add(CheckBoxList.Strings[j]+',');
  // ¸Ç ¸¶Áö¸· comma¸¦ Á¦°ÅÇÑ´Ù
  Memo1.Lines[Memo1.Lines.Count-1] :=
      Copy(Memo1.Lines[Memo1.Lines.Count-1], 1, Length(Memo1.Lines[Memo1.Lines.Count-1])-1);

  Memo1.Lines.Add('FROM table');
  Memo1.Lines.Add('GROUP BY');
  // ¿ì¼±¼øÀ§¿¡ µû¶ó ÇʵåÀÇ À§Ä¡¸¦ °áÁ¤
  for i := 1 to CheckBoxList.Count do // ¼øÀ§
    for j := 0 to CheckBoxList.Count-1 do
      if TCheckBox(CheckBoxList.Objects[j]).Tag = i then
        Memo1.Lines.Add(CheckBoxList.Strings[j]+',');
  // ¸Ç ¸¶Áö¸· comma¸¦ Á¦°ÅÇÑ´Ù
  Memo1.Lines[Memo1.Lines.Count-1] :=
      Copy(Memo1.Lines[Memo1.Lines.Count-1], 1, Length(Memo1.Lines[Memo1.Lines.Count-1])-1);
end;

end.





571   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] ·¹Áö½ºÆ®¸®¸¦ »ç¿ëÇÏ´Â »ç¿ëÀÚ ÇÔ¼ö ¸¸µé¾î º¸±â  ±¸Ã¢¹Î 2003/03/14 4609 1035
570   [À©µµ¿ìÁî API] ·¹Áö½ºÆ®¸®°¡ º¯°æµÈ »ç½ÇÀ» ¾Ë¸®·Á¸é...  ±è¿µ´ë 2003/03/06 4297 1155
569   [À©µµ¿ìÁî API] ·¹Áö½ºÆ®¸®(registry)¸¦ ¹Ù²ÛÈÄ...  ±è¿µ´ë 2003/03/05 4430 1192
568   [À©µµ¿ìÁî API] ·¹Áö½ºÆ®¸® Àüü °Ë»öÇÏ±â  ±è¿µ´ë 2003/03/07 3944 1084
567   [À©µµ¿ìÁî API] ¶°ÀÖ´Â ¸ðµç Microsoft Internet Explorer Á×ÀÌ±â  ±è¿µ´ë 2003/03/29 4473 1264
566   [COM/OLE] ¶°ÀÖ´Â ¸ðµç Microsoft Internet Explorer ÀÇ html ºÒ·¯¿À±â  ±è¿µ´ë 2003/03/30 5556 1361
565   [COM/OLE] ¶°ÀÖ´Â ¸ðµç Internet Explorer ¸¦ °­Á¦ Refresh ½ÃŰ±â  ±è¿µ´ë 2004/09/20 4833 1236
564   [À©µµ¿ìÁî API] ¶°´Ù´Ï´Â À©µµ¿ì  ±è¿µ´ë 2003/03/05 4355 1139
563   [½Ã½ºÅÛ] ¶° ÀÖ´Â ÇÁ·Î±×·¥ Á×À̱â...  ±è¿µ´ë 2003/03/04 5645 1382
562   [½Ã½ºÅÛ] µð½ºÇ÷¹ÀÌ ¾î´ðÅÍ ¸ñ·Ï ±¸ÇÏ±â  ±è¿µ´ë 2004/08/11 4438 1176
561   [½Ã½ºÅÛ] µð½ºÅ©ÀÇ ³²Àº ¿ë·® µîµî...  ±è¿µ´ë 2003/03/05 4991 1353
560   [À©µµ¿ìÁî API] µð½ºÅ© ij½¬ÀÇ ÆÄÀÏÀ» µð½ºÅ©·Î ¾²±â  ±è¿µ´ë 2003/03/05 4029 1080
559   [½Ã½ºÅÛ] µð½ºÅ© µå¶óÀ̺êÀÇ ÇöÀç»óÅ ¾ò±â  ±è¿µ´ë 2003/03/05 3452 967
558   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] µð·ºÅ丮¸í ¹Ù²Ù±â/À̵¿ ÇÏ±â  ±è¿µ´ë 2003/03/07 5006 1515
557   [À©µµ¿ìÁî API] µð·ºÅ丮³ª ÆÄÀÏÀÇ ¼Ó¼º(º¯°æ/»ý¼º/»ç¿ëÇÑ ³¯Â¥, Ư¼º) ¹Ù²Ù±â  ±è¿µ´ë 2004/12/08 9954 1371
556   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] µð·ºÅ丮 »èÁ¦·çƾ(ÇϺεð·ºÅ丮 ¸ù¶¥)  ±è¿µ´ë 2003/03/06 3481 955
555   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] µð·ºÅ丮 º¹»ç·çƾ (ÇϺεð·ºÅ丮 ±îÁö ¸ù¶¥)  ±è¿µ´ë 2003/03/06 4532 1052
554   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] µð·ºÅ丮 º¯µ¿»çÇ×À» Ž»ö±â¿¡ ¾Ë¸®±â  ±è¿µ´ë 2003/03/07 5053 1541
553   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] µð·ºÅ丮 °Ë»öÇÏ¿© ÆÄÀÏ Ã£±â  ±è¿µ´ë 2003/03/05 4928 1434
552   [½Ã½ºÅÛ] µå¶óÀÌºê Æ÷¸Ë(Format) API ÇÔ¼ö  ±è¿µ´ë 2003/03/04 4715 1278
551   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] µÕ±Ù dz¼±µµ¿ò¸»À» ³ªÅ¸³»ÁÖ´Â ÄÞÆ÷³ÍÆ®  ±è¿µ´ë 2003/03/05 3020 734
550   [½Ã½ºÅÛ] µÎ°³ÀÇ ÆÄÀÏÀÌ ¿ÏÀüÈ÷ µ¿ÀÏÇÑÁö °Ë»çÇϱâ2  ±è¿µ´ë 2003/03/07 3221 926
549   [½Ã½ºÅÛ] µÎ°³ÀÇ ÆÄÀÏÀÌ ¿ÏÀüÈ÷ µ¿ÀÏÇÑÁö °Ë»çÇϱâ(CRC32)  ±è¿µ´ë 2003/03/05 4439 1047
548   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] µÎ°³ÀÇ StringGrid sync ¸¶Ãß±â  ±è¿µ´ë 2003/03/07 3538 969
547   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] µÎ°³ÀÇ RichEdit »çÀÌ¿¡ ³»¿ë º¹»çÇÏ±â  ±è¿µ´ë 2003/03/06 5391 1267
546   [¾Ë°í¸®Áò] µÎ ¹®ÀÚ¿­ÀÇ À¯»çµµ °Ë»çÇÏ±â  ±è¿µ´ë 2004/09/04 4983 1121
545   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] µÎ StringGrid ÀÇ scroll À» µ¿±âÈ­ ½ÃŰ±â  ±è¿µ´ë 2003/03/07 4287 1035
544   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] µ¿ÀûÀ¸·Î ÇÁ·ÎÁ§Æ®ÀÇ Main form ¹Ù²Ù±â  ±è¿µ´ë 2003/04/11 4676 1142
543   [µ¥ÀÌÅͺ£À̽º] µ¿ÀûÀ¸·Î À妽º ¸¸µé±â  ±è¿µ´ë 2003/03/06 4189 1072
542   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] µ¿ÀûÀ¸·Î »ý¼ºÇÑ TLabel ¸¶¿ì½º·Î À̵¿½ÃŰ±â  ±è¿µ´ë 2004/08/04 6285 1853
541   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] µ¿ÀûÀ¸·Î ¸Þ´º(memu)¿¡ Item Ãß°¡ÇÏ±â  ±è¿µ´ë 2003/03/06 4701 1256
  [µ¥ÀÌÅͺ£À̽º] µ¿ÀûÀ¸·Î SELECTÀÇ GROUP BY ¹® ¸¸µé±â  ±è¿µ´ë 2003/03/07 3958 889
539   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] µ¿ÀûÀ¸·Î classÀÇ instance ¸¸µé±â  ±è¿µ´ë 2003/03/06 3744 1048
538   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] µµ³Ó(Doughnut) ¸ð¾çÀÇ Æû ¸¸µé±â  ±è¿µ´ë 2004/08/09 4341 1083
537   [À©µµ¿ìÁî API] µµ±¸¸ðÀ½ Bar´Â ¾î¶»°Ô ¸¸µå´ÂÁö...  ±è¿µ´ë 2003/03/04 4692 1325
536   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] µ¨ÆÄÀÌÀÇ Object Inspector ¸ð¹æ  ±è¿µ´ë 2003/03/06 3136 767
535   [À©µµ¿ìÁî API] µ¨ÆÄÀÌ¿¡¼­ ½Ã°£À» ±â´Ù¸®´Â ÇÔ¼ö  ±è¿µ´ë 2003/03/04 5860 1349
534   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] µ¨ÆÄÀ̾ȿ¡ ÀͽºÇ÷η¯ »ðÀÔ  ½ÅÈÆÀç 2003/03/10 5802 1024
533   [½Ã½ºÅÛ] µ¨ÆÄÀÌ·Î DOS ÇÁ·Î±×·¥(Console application) ¸¸µé±â  ±è¿µ´ë 2003/03/06 8811 2841
532   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] µ¨ÆÄÀÌ ÅëÇÕ°³¹ßȯ°æ(IDE) ¿¡ °üÇÑ ¸î°¡Áö Tip  ±è¿µ´ë 2003/03/04 5369 1431

[ÀÌÀü 10°³] [1].. 11 [12][13][14][15][16][17][18][19][20]..[25] [´ÙÀ½ 10°³]
 

Copyright 1999-2019 Zeroboard / skin by zero