如何基于BookID在表中获取大量数字

时间:2018-08-18 11:25:52

标签: c# oracle entity-framework linq

我有一个这样的桌子

ID  BookID  Sunday  Monday  Tuesday Wednesday   Thursday    Friday

001 B200    50      40      60      80           90           10
002 B200    10      20      40      50           80           30
003 B200    70      80      10      20           30           50
004 B500    40      50      90      10           60           40
005 B500    10      5       40      70           40           10
006 B500    50      40      50      40           100          50
007 B500    60      25      15      20           10           60

我需要基于bookID获得最大数量的行。根据此表,

例如:

  • 当BookID = B200时,最大数量应为90
  • 当BookID = B500时,最大数量应为100

如何使用基于BookID的C#LINQ查询获取此值。

3 个答案:

答案 0 :(得分:0)

首先使用功能$nameKey

获取一周中每天的 geatest 计数
GREATEST

比起简单地使用select id, BOOKID, greatest(SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY) max_week from tab ID BOOKID MAX_WEEK ---------- ------ ---------- 1 B200 90 2 B200 80 3 B200 80 4 B500 90 5 B500 70 6 B500 100 7 B500 60 聚合函数

max

您可以将最后一个查询定义为 view ,然后使用您的ORM方便地进行查询。

with mx as (
select id, BOOKID, greatest(SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY) max_week from tab)
select BOOKID, max(max_week) max_week 
from mx
group by BOOKID
;

BOOKID   MAX_WEEK
------ ----------
B200           90 
B500          100 

答案 1 :(得分:0)

使用方法语法的解决方案

因此,您有一个Books序列,其中每个Book都有一个Id,一个BookId和一个数字,代表一周中的大多数日子(CopiesSoldCount?)。

您要从此表中提取每个BookBookId和最大的CopiesSoldCount。可能只需要给定Book的{​​{1}}的结果。

bookId

用词表示:从int bookId = ... var result = Books .Where(book => book.BookId == bookId) .Select(book => new { BookId = bookId, MaxCopiesSole = new int[] { book.Monday, book.Tuesday, book.Wednesday, book.Thursday, book.Friday, } .Max(), }); 的序列开始,仅保留Books等于Books的{​​{1}}。从其余的BookId中创建一个具有属性bookId和整数数组BookBookId,...

的最大值的新对象。

答案 2 :(得分:0)

尝试此代码 Example的链接
//创建类

<!--form accesso-->
<div style="display: none; margin-left: 550px" id="form2">
    <h2 style="color: red">Accedi</h2>

    {!! Form::open(['route'=>'registrazione.store2']) !!}
    <div class="form-group">
        {!! Form::label('email','Email',['style'=>'h3']) !!}
        {!! Form::text('email','',['class'=>'form-control','style'=>'width:220px','placeholder'=>'Inserisci@la mail']) !!}
    </div>
    <div class="form-group">
        {!! Form::label('password','Password',['style'=>'h3']) !!}
        {!! Form::text('password','',['class'=>'form-control','style'=>'width:220px','placeholder'=>'inserisci la password' ]) !!}
    </div>
    {!! Form:: submit('accedi',['class'=>' btn btn-primary']) !!}
    <a class="btn btn-success" href="{{route('homepage')}}"> home </a>
    {!! Form::close() !!}
</div>