Hiển thị kết quả từ 1 đến 9 / 9
  1. #1
    Tham gia
    23-02-2008
    Bài viết
    32
    Like
    0
    Thanked 2 Times in 2 Posts

    Ý tưởng mới ! Đếm số lần xuất hiện tên trong SQL Server, Xin giúp đỡ tui!!!!!!!!! HU HU

    Em có 1 bài tập là 1 bảng gồm

    ID | Tên |
    1 | Hà |
    2 | Tuấn |
    3 | Linh |
    4 | Hà |
    ... ...

    Bài tập là viết câu truy vấn đếm số lần xuất hiện tên của từng người trong fields "Tên" rồi hiển thị ra bảng theo hàng ngang.
    Như:
    1lan| 2lan| 3 lần|...
    Tuấn| Hà |...
    Linh|
    Em biết là cách làm này phải sử dụng dạng truy vấn crosstab Query nhưng mà không biết làm thế nào. Mong mọi người giúp đỡ với. Cảm ơn mọi người.
    Được sửa bởi peijia2007 lúc 14:00 ngày 31-10-2010
    Quote Quote

  2. #2
    Tham gia
    20-07-2009
    Location
    Hà Nội
    Bài viết
    125
    Like
    0
    Thanked 8 Times in 8 Posts
    Crosstab hay Sub-Query ở đây làm gì cho mất công

    Code:
    Select Ten, count(1) SO_LAN_XUAT_HIEN
    FROM TblX
    Group By Ten
    Trong đó TblX là tên bảng.

  3. #3
    Tham gia
    23-02-2008
    Bài viết
    32
    Like
    0
    Thanked 2 Times in 2 Posts
    Rất cảm ơn anh!
    Nhưng không được. hu hu

  4. #4
    Tham gia
    17-03-2010
    Location
    Mê Linh - Hà Nội
    Bài viết
    517
    Like
    0
    Thanked 5 Times in 4 Posts
    Làm thế này tốn hiệu suất xử lý lắm bạn ơi

  5. #5
    Tham gia
    22-02-2010
    Bài viết
    1
    Like
    0
    Thanked 0 Times in 0 Posts
    bạn ơi, muốn đi hoc thêm một khóa về C# hay VB có đắt ko bạn nhỉ???

    [=========> Bổ sung bài viết <=========]

    các bạn ơi, bạn nào có đề thi trắc nghiệm và tự luận môn thiết bị ngoai vi và ghép nối ko các bac, các bác cho mình với. Mình sắp thi rùi các ban ah, mong các b giúp đỡ nhé!!! help me!! helpme!!!!!
    Được sửa bởi chucpham lúc 20:29 ngày 31-10-2010 Reason: Bổ sung bài viết

  6. #6
    Tham gia
    20-07-2009
    Location
    Hà Nội
    Bài viết
    125
    Like
    0
    Thanked 8 Times in 8 Posts
    Bó tay với ý kiến của bạn chủ topic

    Lần 1 thì post yêu cầu đếm số lần xuất hiện.
    Nhưng sau đấy thì sửa lại yêu cầu.

    Với cách xuất dữ liệu như bạn đưa lên, chỉ có thể làm được khi biết rõ số lần xuất hiện lớn nhất của 1 tên.

    Còn không thì phải xử lý động phức tạp và dài dòng.

  7. #7
    Tham gia
    15-03-2010
    Bài viết
    1,562
    Like
    84
    Thanked 1,571 Times in 860 Posts
    @Red Devilic 1:
    Gặp mấy tay sửa yêu cầu làm mình chưng hửng. Người khác không hiểu chuyện từ đầu ngỡ minh dốt mới khổ!

    @All:
    Bài này muốn làm phải sử dụng crosstab/pivot hoặc cursor (hình như SQL Server 2000 không có pivot nên phải dùng bảng tạm để xếp lại dữ liệu). Và vì số cột không nhất định nên bắt buộc phải dùng SQL động. (Không nói chuyện Access ở đây. Access có khả năng pivot riêng của nó)

    Cái ông/bà giáo viên nào đưa ra cái đề này là người chỉ biết làm toán mà không biết nguyên lý Relational Database, cố tình bẻ trẹo tay ngôn ngữ truy xuất dữ liệu (SQL).

    Thứ nhất, số cột không nhắt định -> sai nguyên lý báo cáo (report)

    Thứ hai, các tin tức báo báo dòng không có một liên hệ gì với nhau, ngoài việc xếp vào cho đầy dòng cột ma trận.
    Code:
     1lan | 2lan | 3lan | .....
     Lan  | Hue  | Hong | ..... -> Liên hệ gữa Lan/Hue/Hong ?
     Ti   | Teo  | Hung | ..... -> khác gì với Ti/Teo/Hung
    Lan là tên đàu tiên của 1lan, Hue là tên đầu tiên của 2lan?
    => nát bét ý nghĩa 'Liên Hệ' của CSDL
    Trong pivot table, it nhất phải có một cái gì để liên hệ các dữ liệu cùng hàng với nhau.

    Người ra đề bài muốn dạy học sinh làm một bảng pivot nhưng chính mình không có một chút kiến thức gì về pivot.

    tb. trong dd này có nhiều người nóng máu, sẽ nói "giỏi thì code đi, chỉ biết nói phét..." Đừng mong khích tướng tôi. Loại đề này giải uổng công suy nghĩ.

  8. #8
    Tham gia
    29-11-2004
    Location
    Đà Nẵng
    Bài viết
    411
    Like
    0
    Thanked 4 Times in 4 Posts
    Bài này muốn làm phải sử dụng crosstab/pivot hoặc cursor (hình như SQL Server 2000 không có pivot nên phải dùng bảng tạm để xếp lại dữ liệu). Và vì số cột không nhất định nên bắt buộc phải dùng SQL động. (Không nói chuyện Access ở đây. Access có khả năng pivot riêng của nó)
    SQL2005 trở lên đã có pivot rồi, dùng nó giải quyết ok ngay.

  9. #9
    Tham gia
    23-02-2008
    Bài viết
    32
    Like
    0
    Thanked 2 Times in 2 Posts
    Xin lỗi vì đã sử đổi lại chút xíu nội dung yêu cầu.
    Không có ý bảo người giúp là không hiểu yêu cầu. Hì! Xin lỗi các anh.
    Nhưng mà, em đã được chứng kiến giáo viên ra bài giải rồi. Chỉ tiêc là lười học nên không kịp copy thôi. (Xấu hổ quá) Cứ tưởng bài này dễ, nên không thèm xem, giờ mới thấy chết đến nơi.
    Trước thày giáo hướng dẫn đếm số học sinh giỏi, Khá, TB, Yếu theo điểm số trong 1 fields, rồi xuất ra bảng thành 3 cột (Nhỏ hơn 4 là Yếu, 5-6: TB, 7-8: Khá, 9-10: Giỏi).
    Vậy mờ lần này thày cho bài theo dạng gần giống thế, mà cấm đứa nào kịp ăn trộm của thầy, để bây giờ hoa mắt nhức đầu. Sáng ông ấy bảo cả lớp đần, không chịu nghe giảng.
    Anh em nào biết cách giúp em với!
    KHÔNG NHÓM EM RA ĐI TÌM ĐƯỜNG..THI RỚT! HU HU HU HU....
    Nếu có thể các bác cứ giải giúp em bài này cũng được.
    TABLE là:
    LỚP | HỌTEN | DIỂM |
    TINK19| ... | 9 |
    TINK17|... | 7 |
    ... | ... |...|

    Tạo truy vấn để xếp thành
    LỚP| SÔHS GIOI| SỐ HS KHA | SỐ HS TB | SÔHS YẾU |


    [=========> Bổ sung bài viết <=========]

    À bài này giúp em giải trong SQLSERVER 2005 Express càng tốt.
    Được sửa bởi peijia2007 lúc 12:43 ngày 01-11-2010 Reason: Bổ sung bài viết

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •