2019년 5월 16일 목요일

수준 높은 쿼리 예제

책에 그렇게 적혀있지 사실 수준이 높지는 않음
(질의쿼리가 훨씬 수준 높다 ㅋ)

집필한 서적이 두 권 이상인 저자를 구한다


1
var authors = db.Autors.Where(a => a.Books.Count() >= 2);
cs

서적을 출판연도, 저자 이름 순서(각각 오름차순)로 정렬해서 구한다.

1
2
3
var books = db.Books
                 .OrderBy(b=>b.PublishedYear)
                 .ThenBy(b=>b.Author.Name);
cs

각 발행연도에 해당하는 서적 수를 구한다.


1
2
3
4
5
6
7
8
9
10
11
var groups = db.Books
                  .GroupBy(b=>b.Publishedyear)
                  .Select(g=>new{
                    Year = g.key,
                    Count = g.Count()
                    });
foreach(var g in groups)
{
Debug.Log(g.Year,g.Count);
}
cs

집필한 서적이 가장 많은 저자 한 명을 구한다.


1
2
3
4
5
6
7
var author = db.Authors
                 .Where(a=>a.Books.Count() ==
                            db.Authors.Max(x=>x.Book.Count()))
                 .First();
Debug.Log( author.name,author.Gender,author.Birthday);
cs





댓글 없음:

댓글 쓰기

git rejected error(feat. cherry-pick)

 문제 아무 생각 없이 pull을 받지않고 로컬에서 작업! 커밋, 푸시 진행을 해버렷다. push에선 remote와 다르니 당연히 pull을 진행해라고 하지만 로컬에서 작업한 내용을 백업하지 않고 진행하기에는 부담스럽다(로컬작업 유실 가능성) 해결하려...